我正在编写一个MapReduce应用程序来访问启用了Kerberos的CDH集群上的Hbase数据。我的CDH版本是5.9.0,运行在3个节点上,Kerberos版本是1.10.1。现在,我面临一个问题,希望有人能提供帮助。我的代码:conf.set("hadoop.security.authentication","Kerberos");UserGroupInformation.setConfiguration(conf);UserGroupInformation.loginUserFromKeytab("jj@example.com","jj.keytab");HTabletabl
描述:我构建了一个应用程序,它从应用了Kerberos身份验证的远程集群中获取HDFS(Hadoop分布式文件系统)文件。我可以从Eclipse执行HDFS.copyToLocalFile(path1,path2)并且它工作正常。但是当我将项目导出为可运行的jar并尝试通过命令行运行它时,它会抛出以下错误。注意:我已按照@https://sourceforge.net/p/jsch/mailman/message/26939797/中提到的步骤进行操作并成功地从Eclipse运行该项目。我已经检查了Eclipse中的其他文件,但找不到任何文件。我安装了KerberosV5MIT和Net
当我为Hive启用“自定义”身份验证时,Hue无法连接到HiveServer2。它抛出以下错误:CUSTOMserverauthenticationnotsupported.Validare['NONE','KERBEROS','PAM','NOSASL','LDAP'].如果我们使用自定义身份验证提供程序配置Hive,这是否意味着Hue不起作用?Hive本身工作正常,JDBC/ODBC使用自定义身份验证也按预期工作。有解决办法吗?引用:https://cwiki.apache.org/confluence/display/Hive/Setting+Up+HiveServer2
我有一个spark应用程序,它从Kafka读取数据并将数据写入HDFS。我的应用程序在几分钟内工作正常,但一段时间后它开始出现以下错误并失败。2018-01-0217:59:20LeaseRenewer:username@nameservicename[WARN]UserGroupInformation-PriviledgedActionExceptionas:username@REALM_NAME(auth:KERBEROS)cause:javax.security.sasl.SaslException:GSSinitiatefailed[CausedbyGSSException:N
我设置了一个运行良好的HAHadoop集群。但是添加Kerberos认证后datanode无法连接namenode。验证Namenode服务器成功启动并且没有记录错误。我用用户'hduser'启动所有服务$sudonetstat-tuplen...tcp0010.28.94.150:80190.0.0.0:*LISTEN1001202181518/javatcp0010.28.94.150:500700.0.0.0:*LISTEN1001202071447/javatcp0010.28.94.150:90000.0.0.0:*LISTEN1001202351447/java数据节点以r
我正在尝试使用以下方法在HDFS中创建文件:importorg.apache.hadoop.conf.Configuration;importorg.apache.hadoop.fs.FileSystem;importorg.apache.hadoop.fs.Path;为此,我添加了如下配置:Configurationconfiguration=newConfiguration();configuration.set("fs.hdfs.impl",org.apache.hadoop.hdfs.DistributedFileSystem.class.getName());configur
我正在尝试从MacBookProOSX10.8.4访问ClouderaHadoop设置(HIVE+Impala)。我们在Linux服务器上安装了ClouderaCDH-4.3.0。我已将CDH-4.2.0tarball提取到我的MacBookPro。我已经设置了正确的配置和Kerberos凭据,以便像“hadoop-fs-ls/”这样的命令可以工作并且HIVEshell可以启动。但是,当我执行“显示数据库”命令时,出现以下错误:>hive>showdatabases;>Failedwithexceptionjava.io.IOException:java.io.IOException:
UserGroupInformation类有一个loginUserFromKeytab方法,该方法采用用户主体和key表文件的名称。您没有指定服务主体。我认为Kerberos需要服务主体。有人可以填补我遗漏的空白吗? 最佳答案 据我所知,“登录”方法仅负责客户端的初始用户身份验证连接到KDC断言它是“主体”,接受质询,使用加密密码进行响应(这是key表文件中的内容)检索显示为krbtgt/REALM@REALM的ticket-grantingticket(TGT)然后每个HadoopAPI管理它们自己的授权,但在服务器端客户:在连接
我已经为Windows安装了kerberos,使用kerberos保护了hadoop-2.6.0。当提交作业或执行任何用户命令时,Hadoop从默认位置c:\users\username\krb5cc_username引用Kerberos票证缓存。我想在运行时更改这个位置。是否可以更改java的默认属性以从我系统中的某处引用票证缓存位置。已更新可以使用以下命令更改默认位置kinit-ccache_nameusername引用javakinit但是当我在hadoop上执行任何操作时,它只为用户信息采用默认的票证缓存位置。如何将默认位置更改为用户特定的缓存位置?帮助将不胜感激。
我正在尝试使用JavaClientAPI提交Oozie作业来自另一个Job的javaAction。集群正在使用Kerberos。这是我的代码://getaOozieClientforlocalOozieStringoozieUrl="http://hadooputl02.northamerica.xyz.net:11000/oozie/";AuthOozieClientwc=newAuthOozieClient(oozieUrl);wc.setDebugMode(1);//createaworkflowjobconfigurationandsettheworkflowapplicati